<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>JJSched Administrator Documentation</title>
        <link rel="stylesheet" type="text/css" href="style.css" />
    </head>

    <body>
        <h1>JJSched Administrator Documentation</h1>
        <!---header--->
        <p>This section of JJSched documentation should guide you through installing and administrating JJSched.</p>

        <h2>Quick overview</h2>
        <p>This list contains quick overview of the instalation procedure. If anything goes wring, read the full
        instructions below the line.</p>
        <ul>
            <li>Make sure, you have Java with JDBC installed and configured</li>
            <li>Install the Smack XMPP API from <a href="http://www.igniterealtime.org/projects/smack/index.jsp">Ignite Realtime</a></li>
            <li>Make sure you have access to MySQL server or you have MySQL installed on your system</li>
            <li>Compile or otherwise obtain the jjsched.jar file and put it into your classpath</li>
            <li>Prepare the configuration file</li>
            <li>Run the initial table creation procedure: "java czestmyr.jjsched.jjsched --config ./jjsched.conf --autocreate"</li>
        </ul>
		<p>If you don't need an administrator console, redirect the input and output from JJSched to /dev/null. If you also
		want to run JJSched in background, it is possible. If you then want to shut it down, just send it a SIGKILL signal.</p>

        <hr />
        <h2>What you'll need installed</h2>
        <ul>
            <li>Java Runtime Environment, version 1.6 (program was tested on version 1.6.0_03) Download from
            <a href="http://www.sun.com">sun.com</a></li>
            <li>JDBC with mysql Connector/J driver (com.mysql.jdbc.Driver): Obtainable
            <a href="http://www.mysql.com/products/connector/j/">here</a></li>
            <li>Smack XMPP API: Download it from the 
            <a href="http://www.igniterealtime.org/projects/smack/index.jsp">Ignite realtime website</a></li>
        </ul>
        Don't forget to update the java classpath if it is not done automatically on your system.

        <h2>What you'll need to have access to</h2>
        <ul>
            <li>Account on a mysql server, which can create, modify or delete tables in a database schema.</li>
            <li>Account on a jabber server that will serve as an account for communication with JJSched</li>
        </ul>
        The servers, username and passwords for these accounts should be set in the configuration file. See
        <a href="#config">configuration file</a> sub-section for information on how to configure JJSched.

        <h2>Configuration file</h2>
        The configuration file can be specified with the --configfile option of the program. If you run the
        program with the Ant target "run" or "initrun" or if you don't specify configfile, jjsched.conf in the
        directory, from which the program is run, is used.<br />
        You add an option into the configfile by writing "name = value" into the config file, where "name" is
        the name of the option and "value" is either a new string value or the "int" keyword, followed by an
        integer value.<br />
        Follows a description of jjsched.conf options:<br /><br />
        <b>XMPPServerName</b> - name of the Jabber server to connect to<br />
        <b>XMPPUserName</b> - user name of the jjsched account<br />
        <b>XMPPPassword</b> - password for the account specified in XMPPUserName<br />
        <b>MySQLHost</b> - symbolic name or IP of the MySQL DB host<br />
        <b>MySQLPort</b> - port on which the SQL server listens on the MySQL host<br />
        <b>MySQLScheme</b> - name of the MySQL scheme, where the tables for jjsched reside (or will reside)<br />
        <b>MySQLUsername</b> - name of the user that jjsched will be using<br />
        <b>MySQLPassword</b> - password for MySQL user defined in MySQLUsername<br />
        <b>UsersCanRegister</b> - INTEGER whether the users can register their accounts themselves (value of 1 means TRUE, 0 FALSE)<br />
        <b>ShowInfoMessages</b> - INTEGER whether the app should send information and error messages to users (value of 1 means TRUE, 0 FALSE)<br />
        <b>InitialAdmin</b> - The initial user account that should be created when auto-creating the db tables.
                              This user will have all administrator rights<br /><br />
        Note that there are instructions regarding these options also in the jjsched.conf_example file.
        <h2>Running JJSched</h2>
        When first running JJSched, you need to let it automatically create the needed DB tables. You do this by providing
        the '--autocreate' option or by running JJSched from Ant with the "initrun" target.<br />
        Next time, you should not use '--autocreate' anymore. In Ant, use target "run"<br />
		To run JJSched without attaching itself to the console, redirect the input and output and run JJSched in background:
		"java czestmyr.jjsched.jjsched --config ./jjsched.conf &gt; /dev/null &lt; /dev/null &amp;"
    <!---footer--->
    </body>
</html>
